Equalisation method and device of the GMMSE type

ABSTRACT

Equalisation method for a downlink channel in a telecommunication system transmitting MC-CDMA symbols on a plurality of carrier frequencies, in which a plurality of links are established between a transmitter and a plurality of receivers in order to transmit a plurality of coded signals, each link using a distinct access code amongst N possible codes, the method providing that, for at least one receiver, a vector (Y) representing the components of the signal received by the receiver on the different carrier frequencies is subjected to a filtering step adapted for supplying an observable vector (Z, Z′) and the said observable vector is used for effecting an estimation of the said transmitted symbols according to a mean square error minimisation criterion.

[0001] The present invention concerns an equalisation method and device for the downlink channel of a telecommunications system of the MC-CDMA type. More particularly, the present invention concerns an equalisation method and device of the GMMSE type.

[0002] Multi-Carrier Code Division Multiple Access (MC-CDMA) combines OFDM (Orthogonal Frequency Division Multiplex) modulation and the CDMA multiple access technique. This multiple access technique was proposed for the first time by N. Yee et al. in the article entitled “Multicarrier CDMA in indoor wireless radio networks” which appeared in Proceedings of PIMRC'93, Vol. 1, pages 109-113, 1993. The developments of this technique were reviewed by S. Hara et al. in the article entitled “Overview of Multicarrier CDMA” published in IEEE Communication Magazine, pages 126-133, December 1997.

[0003] Unlike the DS-CDMA (Direct Sequence Code Division Multiple Access) method, in which the signal of each user is multiplied in the time domain in order to spread its frequency spectrum, the signature here multiplies the signal in the frequency domain, each element of the signature multiplying the signal of a different sub-carrier.

[0004] More precisely, FIG. 1 shows the structure of an MC-CDMA transmitter for a given user k. Let d_(k)(i) be the i^(th) symbol to be transmitted from the user k, where d_(k)(i) belongs to the modulation alphabet. The symbol d_(k)(i) is first of all multiplied at 110 by a spreading sequence or signature of the user, denoted ck(t), consisting of N “chips”, each “chip” being of duration T_(c), the total duration of the spreading sequence corresponding to a symbol period T. The results of the multiplication of the symbol d_(k)(i) by the different “chips” are converted by the serial to parallel converter 120 into a block of L symbols, where L is in general a multiple of N. It will be considered, for reasons of simplification of presentation, that L=N. The block of L symbols is then subjected to an inverse fast Fourier transformation (IFFT) in the module 130 before being transmitted to the parallel to serial converter 140. In order to prevent intersymbol interference, a guard interval, with a length greater than the duration of the pulse-type response of the transmission channel, is added to the MC-CDMA symbol. This interval is obtained by the addition (not shown) of a suffix chosen so as to be identical to the start of the said symbol. The symbol thus obtained is amplified at 150 in order to be transmitted over the user channel. It can therefore be seen that the MC-CDMA method can be analysed into a spreading in the spectral domain (before IFFT) followed by an OFDM modulation.

[0005] In practice, a base station transmits the data for a user k in the form of frames of I symbols, each symbol d_(k)(i) being spread by a real signature c_(k)(t) with a duration equal to the symbol period T, such that c_(k)(t)=0 if t ∉[0,T]. The signal modulated at time t=i.T+l.T_(c) can then be written, if the guard intervals between MC-CDMA symbols are omitted: $\begin{matrix} {{S_{k}(t)} = {\sum\limits_{i = 0}^{I - 1}{\sum\limits_{l = 0}^{L - 1}{v_{k} \cdot {c_{k}\left( {l \cdot T_{c}} \right)} \cdot {d_{k}(i)} \cdot {\exp \left( {{j \cdot 2}\pi \quad {l/L}} \right)}}}}} & (1) \end{matrix}$

[0006] where ν_(k) is the amplitude of the signal transmitted by the user k, assumed to be constant for a transmission unit.

[0007] An MC-CDMA receiver for a given user k has been illustrated schematically in FIG. 2.

[0008] The demodulated received signal is sampled at the “chip” frequency and the samples belonging to the guard interval are eliminated (elimination not shown). The signal obtained can be written: $\begin{matrix} {{R(t)} = {{\sum\limits_{k = 0}^{K - 1}{\sum\limits_{i = 0}^{I - 1}{\sum\limits_{l = 0}^{L - 1}{{h_{kl}(i)} \cdot v_{k} \cdot c_{kl} \cdot {d_{k}(i)} \cdot {\exp \left( {{j \cdot 2}\pi \quad {l/L}} \right)}}}}} + {b(t)}}} & (2) \end{matrix}$

[0009] where K is the number of users, c_(kl)=c_(k)(l.T_(c)), and where h_(kl)(i) represents the response of the channel of the user k to the frequency of the sub-carrier l of the MC-CDMA symbol transmitted at time i.T and where b(t) is the received noise.

[0010] If the downlink channel is considered, the transmission channels have identical characteristics and it is possible to write h_(kl)=h_(l). The study will be limited hereinafter to the downlink channel.

[0011] The samples obtained by sampling at the “chip” frequency are put in parallel in a serial to parallel converter 210 before undergoing an FFT in the module 220. The samples in the frequency domain, output from 220, are equalised and despread by the signature of the user k. To do this, the samples of the frequency domain are multiplied by the coefficients q_(l).c_(kl) in the multipliers 230 ₀, . . . , 230 _(L-1), and then added at 240 in order to supply an output symbol {circumflex over (d)}_(k)(i).

[0012] Different possibilities of equalisation have been envisaged in the state of the art:

[0013] MRC (Maximum Ratio Combining) defined by the use of the coefficients q_(l)=h_(l) ^(*) where.* denotes the complex conjugate;

[0014] EGC (Equal Gain Combining) defined by the use of the coefficients q_(l)=e^(−jφl) where h_(l)=π_(l).e^(jφl);

[0015] ZF (Zero Forcing) where q_(l)=h_(l) ⁻¹(i);

[0016] zero forcing ZF with threshold (Th) where q_(l)=h_(l) ⁻¹(i); if |h_(l)(i)|<Th and q_(l=)0 (or q_(l)=e^(−jφl)) otherwise;

[0017] the Minimum Mean Square Error (MMSE) algorithm for minimising the mean square error on each of the carriers: $q_{l} = \frac{h_{l}^{*}}{\left| h_{l} \middle| {}_{2}{+ \sigma^{2}} \right.}$

[0018] where σ² is the variance of the noise on the carrier.

[0019] In MC-CDMA, the presence of a guard period makes it possible to neglect the intersymbol interference. The equalisation can therefore be effected simply by means of a simple multiplication by a complex coefficient, carrier by carrier.

[0020] The receiver illustrated in FIG. 2 decodes the data of a user k without taking account of the interference due to the other users. For this reason it is referred to as single user or SU.

[0021] Multiuser detection techniques are known, notably in CDMA telecommunications systems. They have the common characteristic of taking account of the interference generated by the other users.

[0022] A multiuser detection or MUD technique for MC-CDMA was presented in the article by J-Y. Beaudais, J. F. Hélard and J. Citerne entitled “A novel linear MMSE detection technique for MC-CDMA” published in Electronics Letters, Vol. 36, No. 7, pages 665-666, Mar. 30, 2000. The equalisation method proposed no longer operates carrier by carrier but MC-CDMA symbol by MC-CDMA symbol, taking account of all the carriers. It is for this reason also referred to as GMMSE (Global Minimum Mean Square Error) or, equivalently, M-MMSE (Matrix Minimum Mean Square Error) equalisation. Its purpose is to minimise the mean square error between the estimated symbols {circumflex over (d)}k(i) and the transmitted symbols dk(i).

[0023] An MC-CDMA receiver with GMMSE equalisation for a user k (also referred to in this case as per user MMSE) has been depicted in FIG. 3. It differs from that of FIG. 2 in that the equalisation is effected by means of a multiplication 331 by a matrix Q of the signals of the different carriers. After despreading by multiplication at 332 ₀, . . . , 332 _(L-1) with the signature of the user k and adding at 340, the signal obtained is multiplied at 360 by the transmission level ν_(k) relating to the user k in order to supply an estimated symbol dk (the time index i will be omitted for reasons of simplification).

[0024] An MC-CDMA receiver with GMMSE equalisation, estimating the symbols d_(k) transmitted to the different users, has been depicted in FIG. 4. The modules 410, 420 and 431 are identical to the modules 310, 320 and 331. The despreading is effected at 432, by means of the multiplication by the matrix C^(H) where C is the matrix of the N possible codes (.^(H) designates the conjugate transpose). More precisely, the matrix C is the matrix whose columns consist of the N possible codes c_(k), k=0, . . . , N-1, each code c_(k) being a vector whose components form the sequence c_(lk). The output vector of 432 is subjected to a multiplication at 433 by the matrix V^(H) where V=Diag(ν₀, . . . , ν_(N-1)) is the diagonal matrix representing the amplitudes ν_(k) of the signals transmitted by the base station to the N possible users. When the base station serves fewer than N users, or in other words when the system is not working at full load, the transmission levels corresponding to the unused codes are zero.

[0025] The MC-CDMA signal output from the FFT step, 420, can be written in the form of a vector Y of dimension N whose components correspond to the different carriers. Taking the above notations, Y can be expressed as a function of the vector D of the symbols d_(k) transmitted to the different users:

Y=HCVD+b=AD+b  (3)

[0026] where A=HCV and where b is the vector of the noise components.

[0027] The diagonal matrix H represents the frequency response of the channel to the different subcarriers, that is to say H=Diag (h₀, h₁, . . . , h_(N-1)).

[0028] The vector Y is an observable from which it is possible to estimate the vector D by Wiener filtering. If {circumflex over (D)} is the vector of the estimated symbols for the different users according to the Wiener-Hopf equation:

{circumflex over (D)}=R _(DY) R _(YY) ⁻¹ Y=(R _(DD) A ^(H))(AR _(DD) A ^(H) +σ _(b) ² .I _(N))⁻¹ Y  (4)

[0029] where R_(DY), R_(YY), R_(DD) are respectively the covariance matrix of Y and D and the autocovariance matrices of Y and D. If it is assumed that the transmitted symbols d_(k) are decorrelated, this gives R_(DD)=I_(N) and therefore:

{circumflex over (D)}=A ^(H)(AA ^(H)+σ_(b) ² .I _(N))⁻¹ Y  (5)

[0030] Since A^(H)=V^(H)C^(H)H^(H) it is deduced from (5) that the equalisation matrix Q can be put in the form:

Q=H ^(H)(AA ^(H)+σ_(b) ² .I _(N))⁻¹  (6)

[0031] As indicated by (6), the equalisation operation depends on the calculation of the matrix AA^(H) and the inversion of the matrix AA^(H)+σ_(b) ².I_(N) (or equivalently the resolution of a linear system of rank N). These calculations consume resources of the mobile terminal, all the more so if they have to be performed frequently, notably in the case of rapid variations on the transmission channel. However, it is known that the resources of the terminals constitute precisely the critical part of a mobile telecommunication system.

[0032] The problem at the basis of the present invention is to propose a GMMSE equalisation method for a downlink channel of an MC-CDMA telecommunication system which does not use significant calculation resources.

[0033] This problem is resolved by the invention defined as an equalization method for a downlink channel in a telecommunication system transmitting MC-CDMA symbols on a plurality of carrier frequencies, in which a plurality of links are established between a transmitter and a plurality of receivers in order to transmit a plurality of coded signals, each link using a distinct access code amongst N possible codes, and in which, for at least one receiver, a vector (Y) representing the components of the signal received by the receiver on the different carrier frequencies is subjected to a filtering step adapted for supplying an observable vector (Z, Z′) and the said observable vector is used for effecting an estimation of the said transmitted symbols according to a mean square error minimisation criterion.

[0034] Advantageously, the said estimation comprises the calculation of the matrix A^(H)A+σ_(b) ²I_(N) with A=HCV where H is a matrix giving the characteristics of the transmission channel at the different carrier frequencies, C is the matrix of the possible codes, V is a diagonal matrix giving the transmission levels of the coded signals by means of the said N possible codes, σ_(b) ² is the noise variance and I_(N) is the unity matrix of size N×N. The said estimation can comprise a step of resolving a system of linear equations Ω{circumflex over (D)}=Z where Ω=A^(H)A+σ_(b) ²I_(N), Z is the said observable vector and {circumflex over (D)} is the vector of the symbols estimated for the different links.

[0035] According to one embodiment, the matrix B=C^(H)|H|H|²C is calculated where C is the matrix of the possible codes and H is a matrix giving the characteristics of the transmission channel at the different carrier frequencies.

[0036] It is possible to select, from the transmission levels, real or estimated, of the signals coded by means of the said N possible codes, one subset of codes amongst the N possible codes. In this case, the matrix B can advantageously be reduced to a matrix B′ of size P×P by retaining only the P rows and P columns corresponding to the selected codes, and the matrix C of the possible codes to a matrix C′ of size N×P by retaining only the P columns corresponding to the selected codes. The matrix will then be calculated in the form B′=C′^(H)|H|²C′ where H is a matrix giving the characteristics of the transmission channel of the different carrier frequencies.

[0037] If P codes amongst N are selected, the matrix V=Diag(ν₀, . . . , ν_(N-1)), where the ν_(i) values are the real or estimated values, can be reduced to a matrix V′ of size P×P now containing only the levels associated with the said selected codes, the said estimation comprising a step of calculating the matrix Ω′=V′^(H)B′V′+σ_(b) ².I_(P) where σ_(b) ² is the variance of the noise on each carrier and I_(P) is the unity matrix of size P×P. In this case, the said estimation can comprise a step of resolving a system of linear equations Ω′{circumflex over (D)}′=Z′, where Z′ is the reduction of the observable vector Z to the P components corresponding to the codes selected and where {circumflex over (D)}′ is the vector of the symbols estimated on the different links using the said selected codes.

[0038] The invention is also defined by an equalisation device for a telecommunication system receiver of the MC-CDMA type, comprising means for implementing the equalisation method as disclosed above. Finally, the invention concerns a receiver for a telecommunication system of the MC-CDMA type comprising such an equalisation device.

[0039] The characteristics of the invention mentioned above, as well as others, will emerge more clearly from a reading of the following description given in relation to the accompanying figures, amongst which:

[0040]FIG. 1 depicts schematically the structure of an MC-CDMA transmitter known from the state of the art;

[0041]FIG. 2 depicts schematically the structure of a single user MC-CDMA receiver known from the state of the art;

[0042]FIG. 3 depicts schematically the structure of an MC-CDMA receiver using a per user MMSE equalisation, known from the state of the art;

[0043]FIG. 4 depicts schematically the structure of an MC-CDMA receiver using a GMMSE equalisation, known from the state of the art;

[0044]FIG. 5 depicts schematically the structure of an MC-CDMA receiver using an equalisation method according to a first embodiment of the invention;

[0045]FIG. 6 depicts schematically the structure of an MC-CDMA receiver using an equalisation method according to a second embodiment of the invention.

[0046] A first idea for simplifying the equalisation operation is to take advantage of the fact that the system does not generally work at full load. When the number P of users actually present is less than the number N of possible codes, a matrix V′ of size P×P is constructed, obtained from the matrix V by eliminating the elements relating to the unused codes. It can be assumed, without loss of generality, that these codes bear the indices 0, . . . P-1, and hence V′=Diag(ν₀, . . . , ν_(P-1)). The matrix C can also be reduced to a matrix C′ of size N×P containing only the columns which correspond to the codes used. The matrix A, the product of the matrices H,C and V, is then also reduced to a matrix A′ of size N×P: A′=HC′V′ and the vector Y is written: Y=A′D′+b where D′ is the vector D reduced to the components corresponding to the P users present.

[0047] Equation (5) can then be put in the form:

{circumflex over (D)}′=A′ ^(H)(A′A′ ^(H)+σ_(b) ² .I _(N))⁻¹ Y  (7)

[0048] However, equation (7) unfortunately does not afford any substantial simplification of the calculations since it involves the matrix A′A′^(H), which is still of size N×N although A′ is of reduced size N×P. The size of the matrix to be inverted (or equivalently the rank of the system of linear equations to be resolved) is therefore still a function of the number N of possible codes, that is to say still a function of the maximum number of users which the system can support.

[0049] It was assumed up to now that a user used only one code. In more general terms, the assumption will be made that a plurality of links can be established between the transmitter and a user, each link employing a distinct code. According to this definition, a transmission channel between the transmitter and a user can support several links. Thus N becomes the maximum number of links which can be authorised by the system and P is the number of links actually established.

[0050] The general idea at the basis of the invention is to find a formulation of the equalisation operation capable of simplification when the number P of links (of codes used) is less than the maximum number N.

[0051] Consider the vector Y output from the FFT, it has been seen that Y=AD+b where D is the vector of the symbols to be estimated. Let Z=A^(H)Y be the result of the matched filtering of Y: it is known that Z is an exhaustive summary of Y. It is possible to take as an observable the vector Z instead of Y and estimate the vector D from this observable by means of a Wiener filtering. The estimated vector {circumflex over (D)} is therefore written:

{circumflex over (D)}=R _(DZ) R _(ZZ) ⁻¹ Z  (8)

[0052] However

R _(DZ) =E(DY ^(H) A)=(R _(DD) A ^(H) +R _(Db))A=A ^(H) A and likewise

R _(ZZ) =A ^(H) AR _(DD) A ^(H) A+A ^(H) R _(bb) A=(AA ^(H)+σ_(b) ² I _(N))A ^(H) A from which

{circumflex over (D)}=(A ^(H) A+σ _(b) ² I _(N))⁻¹ Z=(A ^(H) A+σ _(b) ² I _(N))⁻¹ A ^(H) Y  (9)

[0053] When the system is not working at full load, it is possible to reduce the matrix A to a matrix A′ and to rewrite equation (9) in the reduced form:

{circumflex over (D)}=(A′ ^(H) A′+σ _(b) ² I _(P))⁻¹ A′ ^(H) Y  (10)

[0054] where I_(P) is the unity matrix of size P×P.

[0055] It will be noted that this new estimation formula now requires only the inversion of a matrix of size P×P (or equivalently the resolution of a linear system of P equations with P unknowns) instead of a matrix of size N×N as before. The estimation of the symbols is considerably simplified thereby, all the more so when the load on the system is lower.

[0056] It will now be shown that, according to one embodiment of the invention, the calculation of the matrix A′^(H)A′ appearing in equation (10) can be simplified further when the matrix of the code C has certain properties. In fact, consider first of all the matrix A^(H)A. This can also be expressed as:

A ^(H) A=V ^(H)(C ^(H) H ^(H) HC)V=V ^(H)(C ^(H) |H| ² C)V=V ^(H) BV  (11)

[0057] where B=C^(H)|H|²C.

[0058] Assume first of all that the code used is a Walsh-Hadamard (WH) code. It will be recalled that the WH code can be generated like the columns of a matrix C_(2p) obtained by recurrence: $\begin{matrix} {C_{2p} = {{\begin{bmatrix} C_{p} & C_{p} \\ C_{p} & {- C_{p}} \end{bmatrix}\quad {and}\quad C_{1}} = \lbrack 1\rbrack}} & (12) \end{matrix}$

[0059] The matrix is real, symmetrical and equal to its own inverse. In addition, the sequences are orthogonal.

[0060] The elements of C can be expressed in the form: c_(ij)=(−1)^(<ij>) where <i, j> is the scalar product of the binary representations of i and j: <i,j>= ${\langle{i,j}\rangle} = {\sum\limits_{k}{i_{k}j_{k}}}$

[0061] The following property is derived therefrom:

c _(ki) ^(*) c _(kj) =c _(k,i⊕j)  (13)

[0062] where i⊕j represents the bitwise addition of the integers i and j.

[0063] This is because: ${{\sum\limits_{n}{i_{n}k_{n}}} + {\sum\limits_{n}{j_{n}k_{n}}}} = {{\sum\limits_{n}{\left( {i_{n} + j_{n}} \right)k_{n}}} = {\sum\limits_{n}{\left( {i \oplus j} \right)_{n}k_{n}}}}$

[0064] and therefore <k,i>+<k,j>=<k,i⊕j>.

[0065] The result of (13) is that the conjugate product of two WH codes is still a WH code.

[0066] Assume now that the codes used are Fourier codes, defined by: c_(i,k)=exp(−j 2πik/N). The matrix of the code is symmetrical.

c ^(*) _(k,i) c _(kj) =c _(kj-i)  (14)

[0067] where “j-i” designates here the subtraction modulo N.

[0068] The result here too is that the combined product of two Fourier codes is still a Fourier code.

[0069] This property can be extended to a family of codes obtained by “rotation” of the previous codes (and for this reason referred to as rotated codes) as presented in the article by A. Bury et al. entitled “Diversity comparison of spreading transforms for multi-carrier spread spectrum transmission methods” published in Electronic Wireless 2000 Proceedings, Dresden, Germany. The matrix of a rotated code is defined by:

C ^(r) =C. D(r)  (15)

[0070] where D is a diagonal matrix defined by the vector r=(r₀, . . . , r_(N-1))^(T) that is to say D=Diag(r0, . . . , rN-1) where r_(i)=exp(jφ_(i)).

[0071] It is important to note that coding N symbols intended for N users by means of the matrix of a rotated code is equivalent to effecting a rotation of each of these symbols through an angle φ_(i) and then applying the matrix of the initial code. In other words, a rotated code of an initial code can boil down to the initial code at the cost of a rotation of the constellation for each of the users.

[0072] If the matrix C of the initial code relates to a Fourier code, then, for the rotated Fourier code:

c _(k,i) ^(r*) c _(k,j) ^(r) =r _(i) ^(*) .c _(k,i) .r _(j) .c _(k,j) =exp(φ _(j)−φ_(i)).c_(k,j-i)=λ_(ij).c_(k,j-i) ^(r)  (16)

[0073] with λ_(ij)=φ_(j)−φ_(i)−φ_(j-i)

[0074] Likewise, for a rotated Hadamard code:

c _(k,i) ^(r*) c _(k,j) ^(r) =r _(i) ^(*) .c _(k,i) .r _(j) .c _(k,j)=exp(φ_(j)−φ_(i)).c_(k,j⊕i)=λ_(ij) c _(k,j⊕i) ^(r)  (17)

[0075] with λ_(ij)=φ_(j)−φ_(i)−φ_(j⊕i) Subsequently, the codes satisfying the following property will be considered:

c _(k,j) ^(*) c _(k,j)=λ_(ij) .c _(k,f(i,j)) or λ_(ij) .c _(k,f(i,j)) ^(*) which will be denoted λ_(fj) .c _(k,f(i,j)) ^((*))  (18)

[0076] where f(i,j) is an index dependent on i and j and describing 0 to N-1 with i constant or with j constant and where λ_(ij) is a complex number in general depending on the indices i and j.

[0077] In this case the coefficients b_(ij) of the matrix B=C^(H)|H|²C can be expressed by: $\begin{matrix} {b_{ij} = {{\sum\limits_{k = 0}^{N - 1}\left| h_{k} \middle| {}_{2}{c_{k,i}^{*}c_{k,j}} \right.} = \left. {\lambda_{ij}\sum\limits_{k = 0}^{N - 1}} \middle| h_{k} \middle| {}_{2}c_{k,{f{({i,j})}}}^{(\quad*\quad)} \right.}} & (19) \end{matrix}$

[0078] First of all, for example, the first row of the matrix B is calculated, that is to say the coefficients b_(0j), and then the other rows are derived therefrom by permutation and multiplication: $\begin{matrix} {b_{ij} = {{\frac{\lambda_{ij}}{\lambda_{o,j}}b_{0,{f_{0}^{- 1}{({f{({i,j})}})}}}^{\quad {(\quad*\quad)}}\quad {where}\quad {f_{0}(k)}} = {f\left( {0,k} \right)}}} & (20) \end{matrix}$

[0079] If a table of ƒ₀ ⁻¹ƒ and, where applicable, of λij/λo,j, is available, calculation of the matrix B requires only the calculation of one of its rows. By way of example, expression (20) is written in the case of a WH code: b_(ij)=b_(0,i⊕j).

[0080] If for example use is made of a WH code, a rotated WH code, a Fourier code or a rotated Fourier code, the first row of the matrix B can advantageously be obtained by simple transform of the vector ρ=(|h₀|², . . . , |h_(N-1)|²)^(T).

[0081] This is because, in the case of a WH code, the first row is obtained by Hadamard transform of ρ: $\begin{matrix} {b_{0,j} = {{\sum\limits_{k = 0}^{N - 1}\left| h_{k} \middle| {}_{2}{c_{k,0}c_{k,j}} \right.} = {{\sum\limits_{k = 0}^{N - 1}\left| h_{k} \middle| {}_{2}c_{k,{0 \oplus j}} \right.} = {{\sum\limits_{k = 0}^{N - 1}\left| h_{k} \middle| {}_{2}c_{k,j} \right.} = \left. {\sum\limits_{k = 0}^{N - 1}c_{j,k}} \middle| h_{k} \right|^{2}}}}} & (21) \end{matrix}$

[0082] and, in the case of a Fourier code, the first row is obtained by Fourier transform of ρ: $\begin{matrix} {b_{0,j} = {{\sum\limits_{k = 0}^{N - 1}\left| h_{k} \middle| {}_{2}{c_{k,0}^{*}c_{k,j}} \right.} = {{\sum\limits_{k = 0}^{N - 1}\left| h_{k} \middle| {}_{2}c_{k,{j - 0}} \right.} = {{\sum\limits_{k = 0}^{N - 1}\left| h_{k} \middle| {}_{2}c_{k,j} \right.} = \left. {\sum\limits_{k = 0}^{N - 1}c_{j,k}} \middle| h_{k} \right|^{2}}}}} & (22) \end{matrix}$

[0083] Advantageously, the Fourier transform will be effected by means of an FFT.

[0084] If rotated versions of these codes are used, the coefficients of the first row of B are derived from (21) and (22) by means of a simple multiplication by complex coefficient.

[0085] In general terms, if the code employed satisfies property (18), notably for a Hadamard, rotated Hadamard, Fourier or rotated Fourier code, advantageously a row of the matrix B will be calculated (or a column since it is hermitian) and the other rows (or respectively the other columns) will be deduced therefrom by means of permutation and where necessary multiplication operations.

[0086] Consider now the matrix A′^(H)A′ appearing in the estimation calculation (10). The matrix A′ can also be written A′=(HC)′V′ where (HC)′ is the reduction of the matrix HC to its first P columns. A first expression of A′^(H)A′ is deduced therefrom:

A′ ^(H) A′=V′ ^(H)(C ^(H)|H|² C)′V′=V′ ^(H) B′V′  (23)

[0087] According to this variant, first of all the matrix B=C^(H)|H|²C is calculated using the simplified method, disclosed above, and then the reduction in dimension is carried out.

[0088] Alternatively, the matrix A′^(H)A′ can be obtained directly from A′=HC′V′. A second expression of A′^(H)A′ is derived therefrom:

A′ ^(H) A′=V′ ^(H)(C′ ^(H) |H| ² C′)V′  (24)

[0089] According to this variant, first of all the matrix of the codes C is reduced, and then matrix C′^(H)|H|²C′ is calculated.

[0090] When the number of codes P is small, the calculation of A′^(H)A′ according to formula (24) will be opted for. This calculation results in approximately (NP²+2P²+NP) operations.

[0091] If, on the other hand, the reduction in the number of codes is not very great, the calculation according to formula (23) will be opted for, in so far as there exists a fast algorithm for the application of the transform C. This calculation is all the more simple since, in the majority of cases, the codes of the matrix C satisfy property (18). If use is made for example of a WI code, the first row of the matrix B is obtained by a Hadamard transform of the vector ρ=(|h₀|², . . . , |h_(N-1)|²)^(T) requiring Nlog₂(N) operations. The complete calculation of A′^(H)A′ requires (Nlog₂(N)+2P²) operations. This operation will therefore be more effective if log₂(N) is smaller than P².This conclusion also applies when the code used is a Fourier code.

[0092] Advantageously, it is possible to pass dynamically from the calculation of A′^(H)A′ according to (23) to the calculation according to (24) and vice-versa, depending on the value of P.

[0093] It was assumed up to now that the reduction of the matrices consisted of being limited to the components relating to the codes used. In fact, a more extensive reduction can be obtained on the basis of one of the following criteria:

[0094] (I) the P-1 (P a given integer such that P<N) codes c_(m)distinct from c_(k) associated with the highest levels ν_(m) are selected. This is because the high transmission level signals have a higher jamming potential than the others;

[0095] (II) the codes c_(m) distinct from c_(k) associated with the levels ν_(m)>Th where Th is a predetermined threshold, are selected. Advantageously, the threshold Th will be adaptive and will depend on the transmission level for the user in question. Then the codes c_(m) will be selected such that: ν_(m)>μν_(k) with, for example, 0<μ.<1. If the receiver of the user k uses several codes of indices k_(l), . . . , k_(Δ), that is to say if the user has established several links with the base station (the channel of a user then consists of several links), account will be taken of the code of index k_(δ)ε{k_(I), . . . , kΔ} associated with the lowest level ν_(kδ) in and the codes c_(m) will be selected such that: ν_(m)>μ.ν_(kδ).

[0096] Naturally, a combination of the above criteria can also be envisaged. Furthermore, in addition to the selection from the transmission levels, it is possible to select, from amongst those adopted according to this criterion, only the most intrinsically jamming codes (that is to say excluding any consideration of transmission level) for the code in question. This is because it is known, for example from the article by D. Mottier and D. Castelain entitled ‘spreading sequence allocation procedure for MC-CDMA transmission systems’, published in VTC' Fall 2000, September 2000 and included here by reference, that, if the coefficients h_(k) of the channel are correlated, for a given user code, certain codes, for equal transmission levels, are more jamming than others. More precisely, the interference between two codes c_(i) and c_(j) is related to the properties of the “product” sequence w_(ij), defined by w_(ij)[k]=c_(i)[k]c_(j) ^(*)[k]. This selection criterion will be referred to as the intrinsic jamming criterion.

[0097]FIG. 5 illustrates a GMMSE equaliser according to a first embodiment of the invention. The modules 510, 520 are identical to the modules 410 and 420 of FIG. 4. The vector ν=(ν₀, . . . , ν_(N-1))^(T) of the transmission levels, received or estimated by the receiver of the user k in question, is submitted at 570 to a selection module using a selection criterion according to (I) or (II), possibly in combination with the intrinsic jamming criterion. The selection module 570 determines a set F_(k)⊂{0 , . . . , N-1 } of code indices to be selected and transmits it to the multiplexers 551, 561 and 571. The multiplexer 571 selects the components of v relating to the indices of F_(k) in order to supply the vector of reduced size v′. Likewise, the multiplexers 551 and 561 supply respectively the matrices of reduced size B′ and C. The module 550 is an adapted filter supplying Z′=A′^(H)Y. It should be noted that, strictly speaking, the expression “adapted filtering” is suited only to the case where the selection contains all the indices of the codes used. It will be extended to the case where the weakly interfering codes are not selected. The matrix calculation module 590 then calculates the matrix Ω′=V′^(H)B′V′+σ_(b) ².I_(P) and transmits it to the estimation module 580. The latter resolves the linear system of P equations with P unknowns {circumflex over (d)}_(k): Ω′{circumflex over (D)}′=Z′.

[0098]FIG. 6 illustrates a GMMSE equaliser according to a second embodiment of the invention.

[0099] The modules 610, 620, 650, 651, 661, 670, 671, 680, 690 are respectively identical to the modules 510, 520, 550, 551, 561, 570, 571, 580, 590 in FIG. 5.

[0100] As before, the module 650 effects an adapted filtering on the vector Y and supplies the vector Z′=A′^(H)Y. The equaliser here comprises two possible branches for calculating B′ according to the value of P:

[0101] If P²>log₂N, the calculation is effected in the upper branch comprising the modules 660 and 661. The vector ρ=(|h₀|², . . . , |h_(N-1)|²)^(T) issuing from a channel estimator is subjected at 660 to a transform (Hadamard or Fourier) corresponding to the code used for supplying the first row of the matrix B. Then, using a table giving the permutation of the indices ƒ₀ ⁻¹ƒ, the module 660 generates, by means of (20), the other rows of the matrix B. The multiplexer 661 next reduces the matrix B to a matrix B′ of size P×P according to the set F_(k) of indices to be selected, supplied by the selection module 670.

[0102] On the other hand, if P²≦log₂N, the calculation is effected in the lower branch. The module 662 receives from the module 651 the reduced matrix C′ and directly calculates the matrix B′ according to B′=C′^(H)|H|²C′. The matrix calculation module 690 receives the vector of reduced size ν′ from the multiplexer 671 and the matrix B′ of the upper branch or of the lower branch, according to circumstances. It calculates the matrix Ω′=V′^(H)B′V′+σ_(b) ².I_(P) and transmits it to the module 680. The latter then resolves the linear system of P equations with P unknowns {circumflex over (d)}_(k): Ω′{circumflex over (D)}′=Z′.

[0103] Although the MC-CDMA reception device using the equalisation method according to the invention has been depicted in the form of functional modules, it goes without saying that all or part of this device can be implemented by means of a single processor either dedicated or programmed for fulfilling all the functions described or in the form of a plurality of processors either dedicated or programmed for each fulfilling some of the said functions. 

1. Equalisation method for a downlink channel in a telecommunication system transmitting MC-CDMA symbols on a plurality of carrier frequencies, in which a plurality of links are established between a transmitter and a plurality of receivers in order to transmit a plurality of coded signals, each link using a distinct access code amongst N possible codes, the method being characterised in that, for at least one receiver, a vector (Y) representing the components of the signal received by the receiver on the different carrier frequencies is subjected to a filtering step adapted for supplying an observable vector (Z, Z′) and in that the said observable vector is used for effecting an estimation of the said transmitted symbols according to a mean square error minimisation criterion.
 2. Equalisation method according to claim 1, characterised in that the said estimation comprises the calculation of the matrix A^(H)A+σ_(b) ²I_(N) with A=HCV where H is a matrix giving the characteristics of the transmission channel at the different carrier frequencies, C is the matrix of the possible codes, V is a diagonal matrix giving the transmission levels of the signals coded by means of the said N possible codes, σ_(b) ² is the noise variance and I_(N) is the unity matrix of size N×N.
 3. Equalisation method according to claim 2, characterised in that the said estimation can comprise a step of resolving a system of linear equations Ω{circumflex over (D)}=Z where Ω=A^(H)A+σ_(b) ²I_(N), Z is the said observable vector and {circumflex over (D)} is the vector of the symbols estimated for the different links.
 4. Equalisation method according to claim 1, characterised in that the matrix B=C^(H)|H|²C is calculated where C is the matrix of the possible codes and H is a matrix giving the characteristics of the transmission channel at the different carrier frequencies.
 5. Equalisation method according to claim 1, characterised in that, from the transmission levels, real or estimated, of the signals coded by means of the said N possible codes, a subset of codes is selected amongst the N possible codes.
 6. Equalisation method according to claims 4 and 5, characterised in that the matrix B is reduced to a matrix B′ of size P×P by retaining only the P rows and P columns corresponding to the codes selected.
 7. Equalisation method according to claim 5, characterised in that the matrix C of the possible codes is reduced to a matrix C′ of size N×P by retaining only the P columns corresponding to the selected codes.
 8. Equalisation method according to claim 7, characterised in that the matrix B′=C′^(H)|H|²C′ is calculated, where H is a matrix giving the characteristics of the channel frequency at the different carrier frequencies.
 9. Equalisation method according to claim 6 or 8, characterised in that, P codes amongst N having been selected, the matrix V=Diag(ν₀, . . . , ν_(N-1)), where the ν_(i) values are the real or estimated levels, is reduced to a matrix V′ of size P×P now containing only the levels associated with the said selected codes, the said estimation comprising a step of calculating the matrix Ω′=V′^(H)B′V′+σ_(b) ².I_(P) where σb² is the variance of the noise on each carrier and I_(P) the unity matrix of size P×P.
 10. Equalisation method according to claim 9, characterised in that the said estimation comprises a step of resolving a system of linear equations Ω′{circumflex over (D)}′=Z′ where Z′ is the reduction of the observable vector Z to the P components corresponding to the selected codes and where {circumflex over (D)}′ is the vector of the symbols estimated on the different links using said selected codes.
 11. Equalisation device for a receiver in a telecommunication system of the MC-CDMA type, characterised in that it comprises means for implementing the equalisation method according to one of the preceding claims.
 12. Receiver for a telecommunication system of the MC-CDMA type, characterised in that it comprises an equalisation device according to claim
 11. 